[ACTF新生赛2020]usualCrypt

打开main函数

image-20240530175759195

查看sub_401080

image-20240530175917912

发现是base64加密

跟进sub_401000

image-20240530175951159

发现是将base64的序列码改变了

回到上一级查看sub_401030

image-20240530180043233

这是一个大小写切换程序

回到main函数查看aZmxhz3tignxlxj

image-20240530180237393

这是加密后的字符串

所以只要将这个字符串的大小写切换并且用魔改的base64解密就得到了flag

1
2
3
4
5
6
7
8
9
import base64

string='zMXHz3TIgnxLxJhFAdtZn2fFk3lYCrtPC2l9'.swapcase()#大小写转换
tables64='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'#原来的base64表
newtable='ABCDEFQRSTUVWXYPGHIJKLMNOZabcdefghijklmnopqrstuvwxyz0123456789+/'#现在表
maketrans=str.maketrans(newtable,tables64)#不会,记住吧,铁子们
translate=string.translate(maketrans)
flag=base64.b64decode(string.translate(str.maketrans(newtable,tables64)))
print(flag)